import BN from "bn.js";
import { Address } from "web3x-es/address";
import { EventLog, TransactionReceipt } from "web3x-es/formatters";
import { Contract, ContractOptions, TxCall, TxSend, EventSubscriptionFactory } from "web3x-es/contract";
import { Eth } from "web3x-es/eth";
import abi from "./BidsAbi";
export type BidCreatedEvent = {
    _id: string;
    _tokenAddress: Address;
    _tokenId: string;
    _bidder: Address;
    _price: string;
    _expiresAt: string;
    _fingerprint: string;
};
export type BidAcceptedEvent = {
    _id: string;
    _tokenAddress: Address;
    _tokenId: string;
    _bidder: Address;
    _seller: Address;
    _price: string;
    _fee: string;
};
export type BidCancelledEvent = {
    _id: string;
    _tokenAddress: Address;
    _tokenId: string;
    _bidder: Address;
};
export type ChangedOwnerCutPerMillionEvent = {
    _ownerCutPerMillion: string;
};
export type PausedEvent = {
    account: Address;
};
export type UnpausedEvent = {
    account: Address;
};
export type PauserAddedEvent = {
    account: Address;
};
export type PauserRemovedEvent = {
    account: Address;
};
export type OwnershipTransferredEvent = {
    previousOwner: Address;
    newOwner: Address;
};
export interface BidCreatedEventLog extends EventLog<BidCreatedEvent, "BidCreated"> {
}
export interface BidAcceptedEventLog extends EventLog<BidAcceptedEvent, "BidAccepted"> {
}
export interface BidCancelledEventLog extends EventLog<BidCancelledEvent, "BidCancelled"> {
}
export interface ChangedOwnerCutPerMillionEventLog extends EventLog<ChangedOwnerCutPerMillionEvent, "ChangedOwnerCutPerMillion"> {
}
export interface PausedEventLog extends EventLog<PausedEvent, "Paused"> {
}
export interface UnpausedEventLog extends EventLog<UnpausedEvent, "Unpaused"> {
}
export interface PauserAddedEventLog extends EventLog<PauserAddedEvent, "PauserAdded"> {
}
export interface PauserRemovedEventLog extends EventLog<PauserRemovedEvent, "PauserRemoved"> {
}
export interface OwnershipTransferredEventLog extends EventLog<OwnershipTransferredEvent, "OwnershipTransferred"> {
}
interface BidsEvents {
    BidCreated: EventSubscriptionFactory<BidCreatedEventLog>;
    BidAccepted: EventSubscriptionFactory<BidAcceptedEventLog>;
    BidCancelled: EventSubscriptionFactory<BidCancelledEventLog>;
    ChangedOwnerCutPerMillion: EventSubscriptionFactory<ChangedOwnerCutPerMillionEventLog>;
    Paused: EventSubscriptionFactory<PausedEventLog>;
    Unpaused: EventSubscriptionFactory<UnpausedEventLog>;
    PauserAdded: EventSubscriptionFactory<PauserAddedEventLog>;
    PauserRemoved: EventSubscriptionFactory<PauserRemovedEventLog>;
    OwnershipTransferred: EventSubscriptionFactory<OwnershipTransferredEventLog>;
}
interface BidsEventLogs {
    BidCreated: BidCreatedEventLog;
    BidAccepted: BidAcceptedEventLog;
    BidCancelled: BidCancelledEventLog;
    ChangedOwnerCutPerMillion: ChangedOwnerCutPerMillionEventLog;
    Paused: PausedEventLog;
    Unpaused: UnpausedEventLog;
    PauserAdded: PauserAddedEventLog;
    PauserRemoved: PauserRemovedEventLog;
    OwnershipTransferred: OwnershipTransferredEventLog;
}
interface BidsTxEventLogs {
    BidCreated: BidCreatedEventLog[];
    BidAccepted: BidAcceptedEventLog[];
    BidCancelled: BidCancelledEventLog[];
    ChangedOwnerCutPerMillion: ChangedOwnerCutPerMillionEventLog[];
    Paused: PausedEventLog[];
    Unpaused: UnpausedEventLog[];
    PauserAdded: PauserAddedEventLog[];
    PauserRemoved: PauserRemovedEventLog[];
    OwnershipTransferred: OwnershipTransferredEventLog[];
}
export interface BidsTransactionReceipt extends TransactionReceipt<BidsTxEventLogs> {
}
interface BidsMethods {
    getBidByBidder(_tokenAddress: Address, _tokenId: number | string | BN, _bidder: Address): TxCall<{
        "bidIndex": string;
        0: string;
        "bidId": string;
        1: string;
        "bidder": Address;
        2: Address;
        "price": string;
        3: string;
        "expiresAt": string;
        4: string;
    }>;
    ERC721Composable_ValidateFingerprint(): TxCall<string>;
    onERC721Received(_from: Address, a1: Address, _tokenId: number | string | BN, _data: string): TxSend<BidsTransactionReceipt>;
    setOwnerCutPerMillion(_ownerCutPerMillion: number | string | BN): TxSend<BidsTransactionReceipt>;
    bidIdByTokenAndBidder(a0: Address, a1: number | string | BN, a2: Address): TxCall<string>;
    bidCounterByToken(a0: Address, a1: number | string | BN): TxCall<string>;
    ERC721_Interface(): TxCall<string>;
    cancelBid(_tokenAddress: Address, _tokenId: number | string | BN): TxSend<BidsTransactionReceipt>;
    unpause(): TxSend<BidsTransactionReceipt>;
    getBidByToken(_tokenAddress: Address, _tokenId: number | string | BN, _index: number | string | BN): TxCall<{
        0: string;
        1: Address;
        2: string;
        3: string;
    }>;
    isPauser(account: Address): TxCall<boolean>;
    ERC721_Received(): TxCall<string>;
    paused(): TxCall<boolean>;
    renouncePauser(): TxSend<BidsTransactionReceipt>;
    renounceOwnership(): TxSend<BidsTransactionReceipt>;
    manaToken(): TxCall<Address>;
    placeBid(_tokenAddress: Address, _tokenId: number | string | BN, _price: number | string | BN, _duration: number | string | BN): TxSend<BidsTransactionReceipt>;
    addPauser(account: Address): TxSend<BidsTransactionReceipt>;
    pause(): TxSend<BidsTransactionReceipt>;
    owner(): TxCall<Address>;
    isOwner(): TxCall<boolean>;
    ONE_MILLION(): TxCall<string>;
    ownerCutPerMillion(): TxCall<string>;
    MAX_BID_DURATION(): TxCall<string>;
    placeBid(_tokenAddress: Address, _tokenId: number | string | BN, _price: number | string | BN, _duration: number | string | BN, _fingerprint: string): TxSend<BidsTransactionReceipt>;
    bidIndexByBidId(a0: string): TxCall<string>;
    removeExpiredBids(_tokenAddresses: Address[], _tokenIds: (number | string | BN)[], _bidders: Address[]): TxSend<BidsTransactionReceipt>;
    transferOwnership(newOwner: Address): TxSend<BidsTransactionReceipt>;
    MIN_BID_DURATION(): TxCall<string>;
}
export interface BidsDefinition {
    methods: BidsMethods;
    events: BidsEvents;
    eventLogs: BidsEventLogs;
}
export class Bids extends Contract<BidsDefinition> {
    constructor(eth: Eth, address?: Address, options?: ContractOptions) {
        super(eth, abi, address, options);
    }
    deploy(_manaToken: Address, _owner: Address): TxSend<BidsTransactionReceipt> {
        return super.deployBytecode("0x60806040523480156200001157600080fd5b50604051604080620047578339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620001153362000193640100000000026401000000009004565b6000600260006101000a81548160ff02191690831515021790555081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200018b81620001fd640100000000026401000000009004565b5050620004e9565b620001b78160016200023f6401000000000262003f8e179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200021662000302640100000000026401000000009004565b15156200022257600080fd5b6200023c8162000359640100000000026401000000009004565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200027c57600080fd5b62000297828262000454640100000000026401000000009004565b151515620002a457600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200039657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200049257600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61425e80620004f96000396000f300608060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f052f61461017957806312712f7c1461024a578063150b7a02146102b357806319dad16d146103b8578063279dc1e4146103e557806328bd196a1461046e5780632b4c32be146104cf57806339b6b1e5146105385780633f4ba83a1461058557806342a6c4dd1461059c57806346fbf68e146106505780634c81a727146106ab5780635c975abb146107145780636ef8d66d14610743578063715018a61461075a57806374c97c991461077157806381281be8146107c857806382dc1ec4146108295780638456cb591461086c5780638da5cb5b146108835780638f32d59b146108da5780639869b73614610909578063a01f79d414610934578063a750066e1461095f578063ac0637251461098a578063b5eea64414610a31578063ce1056cb14610a76578063f2fde38b14610b62578063f88a121714610ba5575b600080fd5b34801561018557600080fd5b506101e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd0565b6040518086815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34801561025657600080fd5b5061025f610d75565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156102bf57600080fd5b50610364600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d9c565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156103c457600080fd5b506103e360048036038101908080359060200190929190505050611640565b005b3480156103f157600080fd5b50610450600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611736565b60405180826000191660001916815260200191505060405180910390f35b34801561047a57600080fd5b506104b9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611768565b6040518082815260200191505060405180910390f35b3480156104db57600080fd5b506104e461178d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561054457600080fd5b50610583600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117b4565b005b34801561059157600080fd5b5061059a6117f8565b005b3480156105a857600080fd5b506105f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506118a7565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b34801561065c57600080fd5b50610691600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118e8565b604051808215151515815260200191505060405180910390f35b3480156106b757600080fd5b506106c0611905565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561072057600080fd5b5061072961192c565b604051808215151515815260200191505060405180910390f35b34801561074f57600080fd5b50610758611943565b005b34801561076657600080fd5b5061076f61194e565b005b34801561077d57600080fd5b50610786611a20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d457600080fd5b50610827600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050611a46565b005b34801561083557600080fd5b5061086a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a69565b005b34801561087857600080fd5b50610881611a89565b005b34801561088f57600080fd5b50610898611b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108e657600080fd5b506108ef611b62565b604051808215151515815260200191505060405180910390f35b34801561091557600080fd5b5061091e611bb9565b6040518082815260200191505060405180910390f35b34801561094057600080fd5b50610949611bc0565b6040518082815260200191505060405180910390f35b34801561096b57600080fd5b50610974611bc6565b6040518082815260200191505060405180910390f35b34801561099657600080fd5b50610a2f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611bcd565b005b348015610a3d57600080fd5b50610a606004803603810190808035600019169060200190929190505050611be1565b6040518082815260200191505060405180910390f35b348015610a8257600080fd5b50610b60600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611bf9565b005b348015610b6e57600080fd5b50610ba3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dad565b005b348015610bb157600080fd5b50610bba611dcc565b6040518082815260200191505060405180910390f35b6000806000806000600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350600560008560001916600019168152602001908152602001600020549450610c918888876118a7565b809450819550829650839750505050508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515610d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f42696464657220686173206e6f7420616e206163746976652062696420666f7281526020017f207468697320746f6b656e00000000000000000000000000000000000000000081525060400191505060405180910390fd5b939792965093509350565b638f9f4b637c01000000000000000000000000000000000000000000000000000000000281565b6000806000610da9614051565b6000806000600260009054906101000a900460ff16151515610dca57600080fd5b610dd388611dd1565b9550600560008760001916600019168152602001908152602001600020549450610dfe338a87611e83565b93508560001916846000015160001916148015610e1f5750428460a0015110155b1515610e93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f496e76616c69642062696400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8360200151925083608001519150610eb0338a8660c00151612146565b610eba83836123ed565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a815260200190815260200160002060008681526020019081526020016000206000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090556005820160009055600682016000610f9a91906140be565b505060056000876000191660001916815260200190815260200160002060009055600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a8152602001908152602001600020600090553373ffffffffffffffffffffffffffffffffffffffff166323b872dd30858c6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561117757600080fd5b505af115801561118b573d6000803e3d6000fd5b5050505060009050600060075411156113a0576111c8620f42406111ba6007548561272990919063ffffffff16565b61276790919063ffffffff16565b9050600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd84611211611b39565b846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050506040513d60208110156112f457600080fd5b8101908080519060200190929190505050151561139f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001807f5472616e73666572696e67207468652063757420746f2074686520626964206381526020017f6f6e7472616374206f776e6572206661696c656400000000000000000000000081525060400191505060405180910390fd5b5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd848d6113f3858761279190919063ffffffff16565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156114ab57600080fd5b505af11580156114bf573d6000803e3d6000fd5b505050506040513d60208110156114d557600080fd5b8101908080519060200190929190505050151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5472616e73666572696e67204d414e4120746f206f776e6572206661696c656481525060200191505060405180910390fd5b8a73ffffffffffffffffffffffffffffffffffffffff16893373ffffffffffffffffffffffffffffffffffffffff167f4e5ca6c6c06fa8d62f2930830e0d370de70f108bd89213de0b51141775e695bd898787876040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a463150b7a027c0100000000000000000000000000000000000000000000000000000000029650505050505050949350505050565b611648611b62565b151561165357600080fd5b620f4240811015156116f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f546865206f776e6572206375742073686f756c64206265206265747765656e2081526020017f3020616e64203939392c3939390000000000000000000000000000000000000081525060400191505060405180910390fd5b806007819055507ffa406a120a9e7f2b332bfb7a43d3bf1c3f079262202907a6b69c94b2821a02c66007546040518082815260200191505060405180910390a150565b600660205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b6004602052816000526040600020602052806000526040600020600091509150505481565b6380ac58cd7c01000000000000000000000000000000000000000000000000000000000281565b600080600260009054906101000a900460ff161515156117d357600080fd5b6117de848433610bd0565b505050915091506117f282828686336127b2565b50505050565b611801336118e8565b151561180c57600080fd5b600260009054906101000a900460ff16151561182757600080fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000806000806118b5614051565b6118c0888888611e83565b90508060000151816020015182608001518360a0015194509450945094505093509350935093565b60006118fe826001612c9f90919063ffffffff16565b9050919050565b63150b7a027c01000000000000000000000000000000000000000000000000000000000281565b6000600260009054906101000a900460ff16905090565b61194c33612d33565b565b611956611b62565b151561196157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a63848484846020604051908101604052806000815250612d8d565b50505050565b611a72336118e8565b1515611a7d57600080fd5b611a8681613716565b50565b611a92336118e8565b1515611a9d57600080fd5b600260009054906101000a900460ff16151515611ab957600080fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b620f424081565b60075481565b62eff10081565b611bda8585858585612d8d565b5050505050565b60056020528060005260406000206000915090505481565b60008084519150835182141515611c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f506172616d65746572206172726179732073686f756c6420686176652074686581526020017f2073616d65206c656e677468000000000000000000000000000000000000000081525060400191505060405180910390fd5b825182141515611d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f506172616d65746572206172726179732073686f756c6420686176652074686581526020017f2073616d65206c656e677468000000000000000000000000000000000000000081525060400191505060405180910390fd5b600090505b81811015611da657611d998582815181101515611d5a57fe5b906020019060200201518583815181101515611d7257fe5b906020019060200201518584815181101515611d8a57fe5b90602001906020020151613770565b8080600101915050611d41565b5050505050565b611db5611b62565b1515611dc057600080fd5b611dc98161383a565b50565b603c81565b60008060208351141515611e73576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f54686520646174612073686f756c64206265203332206279746573206c656e6781526020017f746800000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6020830151905080915050919050565b611e8b614051565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205482101515611f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c696420696e6465780000000000000000000000000000000000000081525060200191505060405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600083815260200190815260200160002060e060405190810160405290816000820154600019166000191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481526020016004820154815260200160058201548152602001600682018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121345780601f1061210957610100808354040283529160200191612134565b820191906000526020600020905b81548152906001019060200180831161211757829003601f168201915b50505050508152505090509392505050565b60008390508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7638f9f4b637c0100000000000000000000000000000000000000000000000000000000026040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050602060405180830381600087803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b505050506040513d602081101561224557600080fd5b8101908080519060200190929190505050156123e7578073ffffffffffffffffffffffffffffffffffffffff16638f9f4b6384846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122ea5780820151818401526020810190506122cf565b50505050905090810190601f1680156123175780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561233757600080fd5b505af115801561234b573d6000803e3d6000fd5b505050506040513d602081101561236157600080fd5b810190808051906020019092919050505015156123e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f546f6b656e2066696e6765727072696e74206973206e6f742076616c6964000081525060200191505060405180910390fd5b5b50505050565b80600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156124ab57600080fd5b505af11580156124bf573d6000803e3d6000fd5b505050506040513d60208110156124d557600080fd5b81019080805190602001909291905050501015151561255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f496e73756666696369656e742066756e6473000000000000000000000000000081525060200191505060405180910390fd5b80600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561264e57600080fd5b505af1158015612662573d6000803e3d6000fd5b505050506040513d602081101561267857600080fd5b810190808051906020019092919050505010151515612725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f54686520636f6e7472616374206973206e6f7420617574686f72697a6564207481526020017f6f20757365204d414e41206f6e2062696464657220626568616c66000000000081525060400191505060405180910390fd5b5050565b600080600084141561273e5760009150612760565b828402905082848281151561274f57fe5b0414151561275c57600080fd5b8091505b5092915050565b60008060008311151561277957600080fd5b828481151561278457fe5b0490508091505092915050565b6000808383111515156127a357600080fd5b82840390508091505092915050565b60008060056000876000191660001916815260200190815260200160002060009055600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090556128c96001600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008781526020019081526020016000205461279190919063ffffffff16565b91508682141515612ae557600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206000838152602001908152602001600020905080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008681526020019081526020016000206000898152602001908152602001600020600082015481600001906000191690556001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038201548160030155600482015481600401556005820154816005015560068201816006019080546001816001161561010002031660029004612abc929190614106565b509050508660056000836000015460001916600019168152602001908152602001600020819055505b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008381526020019081526020016000206000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090556005820160009055600682016000612bc591906140be565b5050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008154809291906001900391905055508273ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff167fc43098075c34b8b92567bd49f08f55e397ebf82dd82072e3eb1be525c4506f5f8960405180826000191660001916815260200191505060405180910390a450505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612cdc57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612d4781600161393490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b600080600080600080600260009054906101000a900460ff16151515612db257600080fd5b612dbb8b6139e3565b612dc68b8b89612146565b600089111515612e3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f50726963652073686f756c6420626520626967676572207468616e203000000081525060200191505060405180910390fd5b612e48338a6123ed565b603c8810151515612ee7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f546865206269642073686f756c64206265206c617374206c6f6e67657220746881526020017f616e2061206d696e75746500000000000000000000000000000000000000000081525060400191505060405180910390fd5b62eff1008811151515612f88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f546865206269642063616e206e6f74206c617374206c6f6e676572207468616e81526020017f2036206d6f6e746873000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8a95508573ffffffffffffffffffffffffffffffffffffffff16636352211e8b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612ffa57600080fd5b505af115801561300e573d6000803e3d6000fd5b505050506040513d602081101561302457600080fd5b81019080805190602001909291905050509450600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156130a057503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b151561313a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001807f54686520746f6b656e2073686f756c64206861766520616e206f776e6572206481526020017f6966666572656e742066726f6d207468652073656e646572000000000000000081525060400191505060405180910390fd5b61314d8842613c2490919063ffffffff16565b935042338c8c8c8c8c604051602001808881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184815260200183815260200182805190602001908083835b6020831015156132285780518252602082019150602081019050602083039250613203565b6001836020036101000a0380198251168184511680821785525050505050509050019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156132975780518252602082019150602081019050602083039250613272565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506132d18b8b33613c45565b15613313576132e18b8b33610bd0565b9091509050508092508193505050600560008260001916600019168152602001908152602001600020600090556133c7565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b8152602001908152602001600020549150600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b8152602001908152602001600020600081548092919060010191905055505b82600660008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550816005600085600019166000191681526020019081526020016000208190555060e060405190810160405280846000191681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a815260200185815260200188815250600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c815260200190815260200160002060008481526020019081526020016000206000820151816000019060001916905560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015560a0820151816005015560c082015181600601908051906020019061361a92919061418d565b509050503373ffffffffffffffffffffffffffffffffffffffff168a8c73ffffffffffffffffffffffffffffffffffffffff167fe45b7709f1eed66d6e28f43b32f2003da0f0c40b92f75a8994370516e048620f868d898d60405180856000191660001916815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136cc5780820151818401526020810190506136b1565b50505050905090810190601f1680156136f95780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45050505050505050505050565b61372a816001613f8e90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6000806000613780868686610bd0565b94505050925092504281101515613825576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f5468652062696420746f2072656d6f76652073686f756c64206265206578706981526020017f726564000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61383283838888886127b2565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561387657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561397057600080fd5b61397a8282612c9f565b151561398557600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000613a048273ffffffffffffffffffffffffffffffffffffffff1661403e565b1515613a78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f546f6b656e2073686f756c64206265206120636f6e747261637400000000000081525060200191505060405180910390fd5b8190508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a76380ac58cd7c0100000000000000000000000000000000000000000000000000000000026040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001915050602060405180830381600087803b158015613b4b57600080fd5b505af1158015613b5f573d6000803e3d6000fd5b505050506040513d6020811015613b7557600080fd5b81019080805190602001909291905050501515613c20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f546f6b656e2068617320616e20696e76616c69642045524337323120696d706c81526020017f656d656e746174696f6e0000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050565b6000808284019050838110151515613c3b57600080fd5b8091505092915050565b6000806000613c52614051565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600560008460001916600019168152602001908152602001600020549150600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087815260200190815260200160002054821015613f7f57600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878152602001908152602001600020600083815260200190815260200160002060e060405190810160405290816000820154600019166000191681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481526020016004820154815260200160058201548152602001600682018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613f3a5780601f10613f0f57610100808354040283529160200191613f3a565b820191906000526020600020905b815481529060010190602001808311613f1d57829003601f168201915b50505050508152505090508473ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff16149350613f84565b600093505b5050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613fca57600080fd5b613fd48282612c9f565b151515613fe057600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080823b905060008111915050919050565b60e06040519081016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001606081525090565b50805460018160011615610100020316600290046000825580601f106140e45750614103565b601f016020900490600052602060002090810190614102919061420d565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061413f578054855561417c565b8280016001018555821561417c57600052602060002091601f016020900482015b8281111561417b578254825591600101919060010190614160565b5b509050614189919061420d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106141ce57805160ff19168380011785556141fc565b828001600101855582156141fc579182015b828111156141fb5782518255916020019190600101906141e0565b5b509050614209919061420d565b5090565b61422f91905b8082111561422b576000816000905550600101614213565b5090565b905600a165627a7a72305820dc1fa12d4fa31336ba50630ed68ebccf6fd8190542902b8cd7ebabec737c55a80029", _manaToken, _owner) as any;
    }
}
export var BidsAbi = abi;
